1. Technical Field
The present disclosure relates to software maintenance, and more specifically to a method and apparatus for facilitating self-remediation for software applications.
2. Related Art
A software application refers to software code/software instructions that are executed to provide a specific utility to users or other application. It is often observed that during execution, errors in functionality/operation may be discovered such as deviation from the specific utilities sought to be provided, reduction in efficiency, etc.
Deploying fixes for such errors may require the modification of the software instructions constituting a software application. Modification of instructions is often performed by another software application (typically called a patch/remediation tool) provided as a separate set of instructions, which execute independent of the software application. In one embodiment, the remediation tool may not be able to fix errors discovered within the instructions constituting the remediation tool.
Another common approach to deploy fixes for errors is to incorporate instructions (that form the remediation tool) as a part of a software application. In one embodiment, the remediation tool is capable of modifying any of the software instructions constituting the software application (including the instructions constituting the remediation tool), but only during execution of the software application.
Thus, if the deployment of fixes requires termination of execution of the software application, it may not be possible for such a remediation tool (incorporated in the software application) to perform the modifications of the software instructions specified by the fixes.
Various aspects of the present invention facilitate self-remediation (where the remediation tool for deploying fixes for errors is incorporated in the software application) for software applications.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.